
/**
* 
* ====================================================================
*
* @author apov <apov@ymail.com>
*/ 
// LobbyEnter.h
//

#pragma once

class User;
class LobbyEnter{
public:
	virtual int enter( const char* data, User* user ) = 0;

	LobbyEnter(){};
	virtual ~LobbyEnter(){};

protected:
private:
};

class LobbyEnter_Decorator : public LobbyEnter{
public:
	int enter( const char* data, User* user ){
		if( preProcess_ )
			return preProcess_->enter( data, user );

		return 0;
	}

	LobbyEnter_Decorator( LobbyEnter* preProcess ){
		preProcess_ = preProcess;
	}

	virtual ~LobbyEnter_Decorator(){};

protected:

private:
	LobbyEnter* preProcess_;
};
